]> dgit.raspbian.org Git - gnome-shell.git/commitdiff
dnd: Don't use reparent for adding actors to the uiGroup
authorJasper St. Pierre <jstpierre@mecheye.net>
Mon, 26 Aug 2013 23:14:35 +0000 (19:14 -0400)
committerJasper St. Pierre <jstpierre@mecheye.net>
Wed, 30 Oct 2013 17:20:02 +0000 (13:20 -0400)
It's deprecated, terrible, and causes get_theme_node crashes.

js/ui/dnd.js

index c0d09ce5f2ac87ec3e13f91f9d15d7c33147c6a8..54193ad808647d1cdf9a9031610fe5e8bba12f32 100644 (file)
@@ -236,7 +236,7 @@ const _Draggable = new Lang.Class({
 
         if (this.actor._delegate && this.actor._delegate.getDragActor) {
             this._dragActor = this.actor._delegate.getDragActor();
-            this._dragActor.reparent(Main.uiGroup);
+            Main.uiGroup.add_child(this._dragActor);
             this._dragActor.raise_top();
             Shell.util_set_hidden_from_pick(this._dragActor, true);
 
@@ -285,7 +285,8 @@ const _Draggable = new Lang.Class({
             this._dragOffsetX = actorStageX - this._dragStartX;
             this._dragOffsetY = actorStageY - this._dragStartY;
 
-            this._dragActor.reparent(Main.uiGroup);
+            this._dragOrigParent.remove_actor(this._dragActor);
+            Main.uiGroup.add_child(this._dragActor);
             this._dragActor.raise_top();
             Shell.util_set_hidden_from_pick(this._dragActor, true);
         }
@@ -555,7 +556,8 @@ const _Draggable = new Lang.Class({
 
     _onAnimationComplete : function (dragActor, eventTime) {
         if (this._dragOrigParent) {
-            dragActor.reparent(this._dragOrigParent);
+            Main.uiGroup.remove_child(this._dragActor);
+            this._dragOrigParent.add_actor(this._dragActor);
             dragActor.set_scale(this._dragOrigScale, this._dragOrigScale);
             dragActor.set_position(this._dragOrigX, this._dragOrigY);
         } else {